Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(cons(nil, y)) → y
f(cons(f(cons(nil, y)), z)) → copy(n, y, z)
copy(0, y, z) → f(z)
copy(s(x), y, z) → copy(x, y, cons(f(y), z))

Q is empty.


QTRS
  ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

f(cons(nil, y)) → y
f(cons(f(cons(nil, y)), z)) → copy(n, y, z)
copy(0, y, z) → f(z)
copy(s(x), y, z) → copy(x, y, cons(f(y), z))

Q is empty.

Using Dependency Pairs [1,13] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

COPY(s(x), y, z) → F(y)
COPY(0, y, z) → F(z)
COPY(s(x), y, z) → COPY(x, y, cons(f(y), z))
F(cons(f(cons(nil, y)), z)) → COPY(n, y, z)

The TRS R consists of the following rules:

f(cons(nil, y)) → y
f(cons(f(cons(nil, y)), z)) → copy(n, y, z)
copy(0, y, z) → f(z)
copy(s(x), y, z) → copy(x, y, cons(f(y), z))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ DependencyPairsProof
QDP
      ↳ EdgeDeletionProof

Q DP problem:
The TRS P consists of the following rules:

COPY(s(x), y, z) → F(y)
COPY(0, y, z) → F(z)
COPY(s(x), y, z) → COPY(x, y, cons(f(y), z))
F(cons(f(cons(nil, y)), z)) → COPY(n, y, z)

The TRS R consists of the following rules:

f(cons(nil, y)) → y
f(cons(f(cons(nil, y)), z)) → copy(n, y, z)
copy(0, y, z) → f(z)
copy(s(x), y, z) → copy(x, y, cons(f(y), z))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We deleted some edges using various graph approximations

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ EdgeDeletionProof
QDP
          ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

COPY(s(x), y, z) → F(y)
COPY(0, y, z) → F(z)
COPY(s(x), y, z) → COPY(x, y, cons(f(y), z))
F(cons(f(cons(nil, y)), z)) → COPY(n, y, z)

The TRS R consists of the following rules:

f(cons(nil, y)) → y
f(cons(f(cons(nil, y)), z)) → copy(n, y, z)
copy(0, y, z) → f(z)
copy(s(x), y, z) → copy(x, y, cons(f(y), z))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [13,14,18] contains 1 SCC with 3 less nodes.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ EdgeDeletionProof
        ↳ QDP
          ↳ DependencyGraphProof
QDP
              ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

COPY(s(x), y, z) → COPY(x, y, cons(f(y), z))

The TRS R consists of the following rules:

f(cons(nil, y)) → y
f(cons(f(cons(nil, y)), z)) → copy(n, y, z)
copy(0, y, z) → f(z)
copy(s(x), y, z) → copy(x, y, cons(f(y), z))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [13].


The following pairs can be oriented strictly and are deleted.


COPY(s(x), y, z) → COPY(x, y, cons(f(y), z))
The remaining pairs can at least be oriented weakly.
none
Used ordering: Combined order from the following AFS and order.
COPY(x1, x2, x3)  =  COPY(x1, x2, x3)
s(x1)  =  s(x1)
cons(x1, x2)  =  cons
f(x1)  =  f(x1)
nil  =  nil
copy(x1, x2, x3)  =  copy(x1, x2, x3)
n  =  n

Recursive Path Order [2].
Precedence:
COPY3 > cons
s1 > cons
f1 > copy3 > cons
nil > copy3 > cons
n > cons

The following usable rules [14] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ EdgeDeletionProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ QDPOrderProof
QDP
                  ↳ PisEmptyProof

Q DP problem:
P is empty.
The TRS R consists of the following rules:

f(cons(nil, y)) → y
f(cons(f(cons(nil, y)), z)) → copy(n, y, z)
copy(0, y, z) → f(z)
copy(s(x), y, z) → copy(x, y, cons(f(y), z))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.